#include "transisi.h"

transisi::transisi() {
	BacktrackLine = 0;
	jml_perubahan = 0;
}

void transisi::setBacktrackLine(int BL) {
	BacktrackLine = BL;
}

int transisi::getBacktrackLine() {
	return BacktrackLine;
}

int transisi::getjml_perubahan() {
	return jml_perubahan;
}

void transisi::newp(perubahan p) {
	ListOfPerubahan.push_back(p);
	jml_perubahan++;
}

list<perubahan>::iterator transisi::getp(int i) {
	int j;
	list<perubahan>::iterator it;
	it=ListOfPerubahan.begin();
	for (j = 0;j < i;j++) it++;
	return it;
}

void transisi::reverse() {
	int i;
	for (i = 0; i < jml_perubahan; i++) {
		getp(i)->reverse();
	}	
}

void transisi::clear() {
	BacktrackLine = 0;
	jml_perubahan = 0;
	ListOfPerubahan.clear();
}

void transisi::print() {
	int i;
	cout << "INI ADALAH TRANSISI PADA LINE KE-" << BacktrackLine << endl;
	cout << "JUMLAH PERUBAHAN : " << jml_perubahan << endl;
	cout << "PERUBAHAN : " << endl;
	for (i = 0; i < jml_perubahan; i++) {
		getp(i)->print();
	}
}